package com.ruoyi.businessInfo.domain;

import java.math.BigDecimal;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房型信息对象 wdm_room_type
 *
 * @author ruoyi
 * @date 2025-05-17
 */
public class RoomType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房型ID */
    private Long roomTypeId;

    /** 主图媒体ID（NULL表示无主图） */
    @Excel(name = "主图媒体ID", readConverterExp = "N=ULL表示无主图")
    private Long mediaId;

    /** 房型名称 */
    @Excel(name = "房型名称")
    private String roomName;

    /** 英文名称 */
    @Excel(name = "英文名称")
    private String englishName;

    /** 房型分类（0=基础房型 1=高级房型） */
    @Excel(name = "房型分类", readConverterExp = "0==基础房型,1==高级房型")
    private String roomClass;

    /** 房型面积 */
    @Excel(name = "房型面积")
    private BigDecimal floorArea;

    /** 最大入住人数 */
    @Excel(name = "最大入住人数")
    private String maxOccupancy;

    /** 总房间量 */
    private String totalQuantity;

    /** 所在楼层（如"28-39层"） */
    private String floor;

    /** 窗户状态（0=有窗 1=无窗 2=部分有窗） */
    @Excel(name = "窗户状态", readConverterExp = "0==有窗,1==无窗,2==部分有窗")
    private String hasWindow;

    /** 状态（0正常 1禁用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=禁用")
    private String status;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    /** 版本号（乐观锁） */
    private Long version;

    /** 床型配置信息 */
    private List<BedConfig> bedConfigList;

    public void setRoomTypeId(Long roomTypeId)
    {
        this.roomTypeId = roomTypeId;
    }

    public Long getRoomTypeId()
    {
        return roomTypeId;
    }

    public void setMediaId(Long mediaId)
    {
        this.mediaId = mediaId;
    }

    public Long getMediaId()
    {
        return mediaId;
    }

    public void setRoomName(String roomName)
    {
        this.roomName = roomName;
    }

    public String getRoomName()
    {
        return roomName;
    }

    public void setEnglishName(String englishName)
    {
        this.englishName = englishName;
    }

    public String getEnglishName()
    {
        return englishName;
    }

    public void setRoomClass(String roomClass)
    {
        this.roomClass = roomClass;
    }

    public String getRoomClass()
    {
        return roomClass;
    }

    public void setFloorArea(BigDecimal floorArea)
    {
        this.floorArea = floorArea;
    }

    public BigDecimal getFloorArea()
    {
        return floorArea;
    }

    public void setMaxOccupancy(String maxOccupancy)
    {
        this.maxOccupancy = maxOccupancy;
    }

    public String getMaxOccupancy()
    {
        return maxOccupancy;
    }

    public void setTotalQuantity(String totalQuantity)
    {
        this.totalQuantity = totalQuantity;
    }

    public String getTotalQuantity()
    {
        return totalQuantity;
    }

    public void setFloor(String floor)
    {
        this.floor = floor;
    }

    public String getFloor()
    {
        return floor;
    }

    public void setHasWindow(String hasWindow)
    {
        this.hasWindow = hasWindow;
    }

    public String getHasWindow()
    {
        return hasWindow;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    public List<BedConfig> getBedConfigList()
    {
        return bedConfigList;
    }

    public void setBedConfigList(List<BedConfig> bedConfigList)
    {
        this.bedConfigList = bedConfigList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("roomTypeId", getRoomTypeId())
                .append("mediaId", getMediaId())
                .append("roomName", getRoomName())
                .append("englishName", getEnglishName())
                .append("roomClass", getRoomClass())
                .append("floorArea", getFloorArea())
                .append("maxOccupancy", getMaxOccupancy())
                .append("totalQuantity", getTotalQuantity())
                .append("floor", getFloor())
                .append("hasWindow", getHasWindow())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("version", getVersion())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .append("bedConfigList", getBedConfigList())
                .toString();
    }
}
